The YogiProject: Software Property Checking via Static Analysis and Testing
نویسندگان
چکیده
We present Yogi, a tool that checks properties of C programs by combining static analysis and testing. Yogi implements the Dash algorithm which performs verification by combining directed testing and abstraction. We have engineered Yogi in such a way that it plugs into Microsoft’s Static Driver Verifier framework. We have used this framework to run Yogi on 69 Windows Vista drivers with 85 properties. We find that the new algorithm enables Yogi to scale much better than Slam, which is the current engine driving Microsoft’s Static Driver Verifier.
منابع مشابه
On the Role of Static Analysis in Operating System Checking and Runtime Verification
of the RPE On the Role of Static Analysis in Operating System Checking and Runtime Verification by Abhishek Rai Stony Brook University 2005 Software inevitably contains bugs. For certain classes of software like operating systems, reliability is a critical requirement. Recent research has shown that several commodity operating systems, even after careful design and extensive testing, still cont...
متن کاملEstablishing Flight Software Reliability: Testing, Model Checking, Constraint-Solving, and Monitoring
In this paper we discuss the application of a range of techniques to the verification of mission-critical flight software at JPL. It is clear that for this type of application we want to achieve a higher level of confidence than can be achieved through standard software testing. Unfortunately, given the current state of the art, especially when efforts are constrained by the tight deadlines and...
متن کاملProperty-based Code Slicing for Efficient Verification of OSEK/VDX Operating Systems
Testing is a de-facto verification technique in industry, but insufficient for identifying subtle issues due to its optimistic incompleteness. On the other hand, model checking is a powerful technique that supports comprehensiveness, and is thus suitable for the verification of safety-critical systems. However, it generally requires more knowledge and cost more than testing. This work attempts ...
متن کاملPutting Flight Software Through the Paces with Testing, Model Checking, and Constraint-Solving
In this paper we discuss the application of a range of techniques to the verification of mission critical flight software for a JPL mission. It is clear that for this type of application we want to achieve a higher level of confidence than can be achieved through standard software testing. Unfortunately, given the current state of the art, especially if one has to comply with the tight deadline...
متن کاملSoftware Testing – Goals, Principles, and Limitations
Software testing is an activity which is aimed for evaluating quality of a program and also for improving it, by identifying defects and problems. Software testing strives for achieving its goals (both implicit and explicit) but it does have certain limitations, still testing can be done more effectively if certain established principles are be followed. In spite of having limitations, software...
متن کامل